In disaster recovery situations, corporate computer network administrators need the ability to control which database responds to SQL Requests. Certain products that are commercially available, such as 3DNS produced by F5 Networks, respond to requests made to a given database by routing requests to a database dynamically depending on scripted rules. There is no way to dynamically take control of this routing to remove a database from a mix or toggle between a defined primary and secondary server. In a corporate infrastructure that uses shared instances for multiple applications, the server could be available, while the instance for a particular application might not be available.
The Domain Name System (DNS) is a distributed database that maps host names to Internet Protocol (IP) addresses. The Domain Name System (DNS) helps users to locate resources on the Internet. Every computer on the Internet has a unique IP address. A DNS server is used to resolve host names associated with IP addresses. The DNS server that receives a domain name converts a string representing the domain name into a network address.
Translating the host name into the IP address is called “resolving the domain name.” The goal of DNS is for any Internet user to reach a specific website IP address by entering its domain name. Domain names are also used for reaching e-mail addresses and for other Internet applications. DNS automatically converts the names entered into a web browser address bar to the IP addresses of web servers hosting those sites.
DNS implements a distributed database to store this name and address information for all public hosts on the Internet. DNS assumes IP addresses do not change, i.e., that IP addresses are statically assigned rather than dynamically.
The DNS database resides on a hierarchy of special database servers. When web browser clients issue requests involving Internet host names, a software component called the DNS resolver first contacts a DNS server to determine the server's IP address. The DNS resolver is usually built into the network operating system. If the DNS server does not contain the needed mapping, it will forward the request to a different DNS server at the next higher level in the hierarchy. After potentially several forwarding and delegation messages are sent within the DNS hierarchy, the IP address for the given host eventually arrives at the resolver, that in turn completes the request over Internet Protocol.
Round Robin DNS is the easiest method available to load balance web servers. Round robin works by assigning multiple IP addresses to the fully qualified domain name (FQDN) of a resource. The IP addresses are rotated so that one server IP address is handed out first, then the next request is given the next IP address in the list. This repeats as each DNS resolution is handled, moving down the list of IP addresses until the end of the list is reached, which starts the whole process over. If a service at one of the IP addresses in the list fails, Round Robin DNS will continue to hand out that address and clients will still attempt to reach the inoperable service. Round Robin DNS is not the best choice for load balancing since it simply alternates the order of the IP address records each time a name server is queried. Round Robin DNS does not consider matching the user IP address and its geographical location, transaction time, server load, or network congestion. Round Robin DNS load balancing works best for services with a large number of uniformly distributed connections to servers of equivalent capacity.